1. Field of the Invention
The present invention relates to a technique to transmit compressed image data such as JPEG and JPEG 2000 among modules.
2. Description of the Background Art
With reduction in price and downsizing of an image pickup device, a camera function has been added to various electronic equipment. A camera-equipped mobile phone is one example. FIG. 8 is a block diagram showing a background-art camera-equipped mobile phone 100. The camera-equipped mobile phone 100 comprises a host control module 101 and an image processing module 102.
The host control module 101 is a module to perform data transmission as well as call operation which is an original function of a mobile phone. The image processing module 102 is a module to perform various image processings on image data inputted from an image pickup element (not shown). For example, a color interpolation, a color space conversion, a gamma conversion and/or the like are performed. The image processing module 102 comprises a function to compress image data with JPEG or JPEG 2000.
Thus, in general, a camera-equipped mobile phone comprises a host control module and an image processing module. In other words, the camera-equipped mobile phone is provided with modules to perform image processing on a picked-up image, besides the module to perform the main function of a mobile phone. The reason why such a configuration can be achieved is because it is possible to separate a process for manufacturing an image pickup element and an image processing module and a process for manufacturing a host control module. For example, it becomes possible that a camera maker should manufacture a camera module consisting of an image pickup element and an image processing module and a mobile-phone maker should manufacture a host control module. Further, by separating the modules, it is possible to give general versatility to each of the modules.
Thus, in a camera-equipped mobile phone, an image processing module and a host control module are provided separately. This requires a system to transmit the image data processed by the image processing module to the host control module. In a case where image data picked up by a camera is transmitted by E-mail, for example, it is necessary to first generate JPEG data in the image processing module and transmit the JPEG data to the host control module.
In the background-art camera-equipped mobile phone 100, as shown in FIG. 8, the image processing module 102 records the JPEG data in an SDRAM 103 and the host control module 101 reads out the JPEG data recorded in the SDRAM 103. Alternatively, the JPEG data is transmitted from the image processing module 102 to the host control module 101 by using a host I/F.
Another method is shown in FIG. 9. A background-art camera-equipped mobile phone 110 of FIG. 9 transmits JPEG data by using a YUV data path 104 which connects the image processing module 102 and the host control module 101.
Herein, the image processing module 102 converts YUV image data into JPEG data. With respect to YUV image data which are sequentially inputted, JPEG data are generated and outputted discretely in the time direction. FIG. 10 shows a signal string of YUV image data inputted to a JPEG compression part. The YUV image data is data in which a Y signal and a U signal (or a V signal) are alternately repeated for every clock like Y→U→Y→V→Y→U→Y→V. While the YUV image data for one pixel is supplied to the JPEG compression part for every clock in FIG. 10, the JPEG data is outputted discretely as shown in FIGS. 11 and 12. Reference sign Dout in FIGS. 11 and 12 represents output data and hatched parts represent valid data parts.
The reason why the outputted JPEG data are thus discretely in the time direction is because the data is JPEG-compressed and the data size of the JPEG data becomes smaller than that of YUV image data. Since the compression ratio depends on the content of the image, the timing of outputting data and the data size are not constant.
If image data has a small number of pixels, it is possible to adopt a method in which compressed JPEG data for one frame is once stored in an external memory (in other words, only the valid data part of discrete data is recorded in the external memory) and then sequentially outputted to the YUV data path 104. If image data has a larger number of pixels, however, it is impossible to store JPEG data for one screen in the external memory. If an external memory having very large capacity is used, the cost increases and the power consumption also increases. This is an inevitable problem since the number of pixels in the latest image pickup element is very large.
As one method to solve this problem, conventionally, the JPEG data, which are generated discretely in the time direction, are transmitted to the host control module 101 without any change and the JPEG data are reproduced in the host control module 101 by using a valid signal or an output data clock.
FIG. 11 is a view showing a method to transmit JPEG data by controlling a valid signal. FIG. 11 shows a pixel clock signal (PIXCLK), a frame valid signal (FRAME_VALID), a line valid signal (LINE_VALID) and output data (Dout) which are transmitted from the image processing module 102 to the host control module 101. In this method, in synchronization with the timing of outputting the valid data (JPEG data), the line valid signal is controlled to become High-level. The host control module 101 reads this line valid signal and stores the output data in a memory at the timing where the line valid signal is in High-level. With this operation, the host control module 101 stores only valid data among stream data in the memory to reproduce the JPEG data.
FIG. 12 is a view showing a method to transmit JPEG data by using a pixel clock signal. In this method, in synchronization with the timing of outputting the valid data (JPEG data), the pixel clock signal is outputted, and while the valid data is not outputted, the pixel clock signal is gated. The host control module 101 reads the pixel clock signal and stores the output data in the memory at the timing where the pixel clock signal is inputted. With this operation, the host control module 101 stores only valid data among the stream data in the memory to reproduce the JPEG data.
As discussed above, the background-art camera-equipped mobile phone 100 transmits the JPEG data by using the SDRAM 103, and since an external memory is connected thereto, the cost increases. Further, since the power consumption increases and the device structure becomes larger, there arises another problem of not providing sufficient space for a substrate.
The background-art camera-equipped mobile phone 110 adopts a method to transmit the JPEG data by using the YUV data path 104, and in order to achieve this method, a structure to support the method has to be provided for the host control module 101.
In the method of FIG. 11, for example, the host control module 101 needs a circuit for control to acquire or discard an input signal in accordance with the level of the valid signal. In general, however, most host control modules do not comprise such a circuit.
If the host control module 101 does not allow gating of the pixel clock, the method of FIG. 12 can not be adopted. In a case where the host control module 101 inputs the pixel clock from the image pickup device to a PLL to make a multiple clock, for example, it is impossible to stop the pixel clock.
When the host control module 101 stores the JPEG data which are discretely outputted in the memory without any change like the YUV image data, however, since the valid data and the invalid data are mixed, it is not possible to draw out only the valid data and reproduce the JPEG data.